package com.woniuxy.service;

import com.woniuxy.controller.form.*;
import com.woniuxy.controller.info.DefectAllDateInfo;
import com.woniuxy.controller.info.DefectAndFileInfo;
import com.woniuxy.controller.info.ProjectIdAndNameInfo;
import com.woniuxy.controller.info.UserAndRoleInfo;
import com.woniuxy.model.Defect;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 马世亮
 * @since 2022-02-15
 */
public interface DefectService extends IService<Defect> {

    List<ProjectIdAndNameInfo> getDefectProjectNameAndId(Integer uId);

    DefectAllDateInfo getDefectAllDate();

    void addDefect(AddDefectFrom addDefectFrom);

    List<DefectAndFileInfo> getMyDefect(DefectConditionForm defectConditionForm);

    void removeDefect(Integer id);

    void changeDefect(UpdateDefectForm updateDefectForm);

    List<DefectAndFileInfo> getNewDefectByMyProject(DefectConditionForm defectConditionForm);

    List<UserAndRoleInfo> getProjectMan(Integer projectId);

    void choiceMan(ChoiceUserForm choiceUserForm);

    List<DefectAndFileInfo> getNoNewDefectByMyProject(DefectConditionForm defectConditionForm);

    List<DefectAndFileInfo> getGiveMeDefect(DefectConditionForm defectConditionForm);

    void isAcceptDefect(AcceptDefectForm acceptDefectForm);

    void handleDefect(HandleDefectForm handleDefectForm);

    void responseDefect(ResponseDefectForm responseDefectForm);
}
